package org.jeecg.modules.service;

import org.jeecg.modules.entity.DbContract;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.entity.vo.ContractStatisticsVo;
import org.jeecg.modules.entity.vo.DbContractVo;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Description: db_contract
 * @Author: jeecg-boot
 * @Date:   2024-06-13
 * @Version: V1.0
 */
public interface IDbContractService extends IService<DbContract> {

    /**
     *   添加
     *
     * @param dbContract
     * @return
     */
    void add(DbContract dbContract);

    /**
     * 修改财务信息
     * @param dbContract
     */
    void updateFinanceManage(DbContract dbContract);

    /**
     * 更新文件信息
     * @param dbContract
     */
    void updateAndFileById(DbContract dbContract);

    /**
<<<<<<< Updated upstream
     *   通过id删除
     *
     * @param id
     * @return
     */
    void deleteById(String id);
    /**
     *  批量删除
     *
     * @param ids
     * @return
     */
    void deleteBatch(String ids);
    /**
     * 通过id查询
     *
     * @param id
     * @return
     */
    DbContractVo queryById(String id);

    /**
     *  修改回款和进度
     * @param contractId
     * @param sumCount
     * @param paymentProgress
     */
    void updateDbContract(String contractId, BigDecimal sumCount, float paymentProgress);
    /**
     *查询合同id列表
     *
     * @return
     */
    List<String> getContractIdList();

    /**
     * 合同统计
     * @return 合同总数，合同总金额，待回款金额
     */
    ContractStatisticsVo contractSatatistics();
}
